﻿using FB.Membership.Annotations;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace FB.Security.FOA
{

    // 模
    // modules
    public enum Module : int
    {
        [Description("我的流程")]
        ProcessInstance = 1,
        [Description("任务管理")]
        TaskManagement,
        [Description("日程管理")]
        ScheduleManagement,
        [Description("日常应用")]
        DailyUser,
        [Description("消息管理")]
        MessageManagement,
        [Description("会议室")]
        MettingRoom,
        [Description("用品管理")]
        OfficeProductManagement,
        [Description("车辆管理")]
        CarManagement,
        [Description("图书管理")]
        BookManagement,
        [Description("内容发布")]
        ContentPublish,
        [Description("考勤管理")]
        PunchManagement,
        [Description("人事管理")]
        HRInfoManagement,
        [Description("系统设置")]
        CompanyManagement,
        [Description("系统管理")]
        SystemManagement,
        [Description("财务管理")]
        FinaceManagement,
        [Description("培训计划")]
        TraingProgram,
        [Description("投票管理")]
        VoteManagement,

        [Description("流程报表管理")]
        FormReportManagement,
        [Description("緊急咨詢")]
        Consult,

        [Description("EIP")]
        EIP = 20,

    }


    namespace EIP
    {
        public enum Menu : int
        {
            [Description("保險業績表")]
            Insurance = 100,

            [Description("人材計劃")]
            HRP = 200,

            [Description("資產管理")]
            AM = 300,

            [Description("大數據中心")]
            Messenger = 400,

            [Description("拓展部報表")]
            BusinessDev = 500,

            [Description("資產管理收費名單")]
            WealthMgntFee = 600,

            [Description("座位表")]
            SeatingPlan = 700,

            [Description("偉智 FOA")]
            FOAWIFS = 800,
        }

        #region Insurance
        [SecurityFlag((int)Module.EIP, (int)Menu.Insurance)]
        public enum Insurance : long
        {
            [Description("查看")]
            View = 1
        }
        #endregion

        #region Human Resources Project
        [SecurityFlag((int)Module.EIP, (int)Menu.HRP)]
        public enum HRP : long
        {
            [Description("查看")]
            View = 1
        }
        #endregion

        #region Asset Management
        [SecurityFlag((int)Module.EIP, (int)Menu.AM)]
        public enum AM : long
        {
            [Description("查看")]
            View = 1
        }
        #endregion

        #region Messenger
        [SecurityFlag((int)Module.EIP, (int)Menu.Messenger)]
        public enum Messenger : long
        {
            [Description("查看")]
            View = 1
        }
        #endregion

        #region Business Development
        [SecurityFlag((int)Module.EIP, (int)Menu.BusinessDev)]
        public enum BusinessDev : long
        {
            [Description("查看業績表")]
            ViewPerformanceReport = 1,
        }
        #endregion

        #region WealthMgntFee 
        [SecurityFlag((int)Module.EIP, (int)Menu.WealthMgntFee)]
        public enum WealthMgntFee : long
        {
            [Description("資產管理收費名單")]
            View = 1,
        }
        #endregion

        #region SeatingPlan
        [SecurityFlag((int)Module.EIP, (int)Menu.SeatingPlan)]
        public enum SeatingPlan : long
        {
            [Description("經紀座位表")]
            ViewAESeatingPlan = 1,
        }
        #endregion

        #region FOAWIFS
        [SecurityFlag((int)Module.EIP, (int)Menu.FOAWIFS)]
        public enum FOAWIFS : long
        {
            [Description("查看 ")]
            View = 1,
        }
        #endregion
    }


    #region 我的流程
    namespace ProcessInstance
    {
        public enum Menu : int
        {
            [Description("待办流程")]
            ReadyTasks = 100,
            [Description("流转流程")]
            ProcessQueryTransiting,
            [Description("结束流程")]
            ProcessQueryCompleted,
            [Description("所有流程")]
            ProcessQuery,
            [Description("流程申请")]
            WorkFormApply,
            [Description("草稿")]
            FormDraft,
            [Description("我发起的流程")]
            MyProcessInstance,
            [Description("流程管理")]
            ProcessInstanceManager,
            [Description("部门流程")]
            DepartmentProcessInstance

        }
        #region ProcessInstanceMenu
        [SecurityFlag((int)Module.ProcessInstance, (int)Menu.ReadyTasks)]
        public enum ReadyTasks : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.ProcessInstance, (int)Menu.ProcessQueryTransiting)]
        public enum ProcessQueryTransiting : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.ProcessInstance, (int)Menu.ProcessQueryCompleted)]
        public enum ProcessQueryCompleted : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.ProcessInstance, (int)Menu.ProcessQuery)]
        public enum ProcessQuery : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.ProcessInstance, (int)Menu.WorkFormApply)]
        public enum WorkFormApply : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.ProcessInstance, (int)Menu.FormDraft)]
        public enum FormDraft : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.ProcessInstance, (int)Menu.MyProcessInstance)]
        public enum MyProcessInstance : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.ProcessInstance, (int)Menu.ProcessInstanceManager)]
        public enum ProcessInstanceManager : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.ProcessInstance, (int)Menu.DepartmentProcessInstance)]
        public enum DepartmentProcessInstance : long
        {
            [Description("查看")]
            View = 1
        }
        #endregion
    }
    #endregion
    #region 任务管理
    namespace TaskManagement
    {
        public enum Menu : int
        {
            [Description("我的任务")]
            TaskManager = 100,
            [Description("下属任务")]
            TaskBranch = 101,
            [Description("任务提醒")]
            CompanyMemo = 102,
            [Description("假期管理")]
            Holiday = 103,
            [Description("集團備忘錄")]
            OrganisationMemo = 104,
            [Description("期權到期提醒")]
            OptionReminder = 105,
        }
        [SecurityFlag((int)Module.TaskManagement, (int)Menu.TaskManager)]
        public enum TaskManager : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.TaskManagement, (int)Menu.TaskBranch)]
        public enum TaskBranch : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.TaskManagement, (int)Menu.CompanyMemo)]
        public enum CompanyMemo : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8,
            [Description("查看所有")]
            ViewAll = 16
        }
        [SecurityFlag((int)Module.TaskManagement, (int)Menu.Holiday)]
        public enum Holiday : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.TaskManagement, (int)Menu.OrganisationMemo)]
        public enum OrganisationMemo : long
        {
            [Description("查看")]
            View = 1,
        }
        [SecurityFlag((int)Module.TaskManagement, (int)Menu.OptionReminder)]
        public enum OptionReminder : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8,
            [Description("查看所有")]
            ViewAll = 16
        }
    }
    #endregion
    #region 日程管理
    namespace ScheduleManagement
    {
        public enum Menu : int
        {
            [Description("我的日程")]
            DailyManager = 100,
            [Description("下属日程")]
            DailyBranch,
            [Description("日程开放")]
            DailyOpen,
            [Description("我的知会")]
            DailyNotify
        }
        [SecurityFlag((int)Module.ScheduleManagement, (int)Menu.DailyManager)]
        public enum DailyManager : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.ScheduleManagement, (int)Menu.DailyBranch)]
        public enum DailyBranch : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.ScheduleManagement, (int)Menu.DailyOpen)]
        public enum DailyOpen : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("删除")]
            Delete = 4
        }
        [SecurityFlag((int)Module.ScheduleManagement, (int)Menu.DailyNotify)]
        public enum DailyNotify : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
    }
    #endregion
    #region 日常应用
    namespace DailyUser
    {
        public enum Menu : int
        {
            [Description("通讯录")]
            MyContactsManager = 100,
            [Description("我的客户")]
            MyClient
        }
        [SecurityFlag((int)Module.DailyUser, (int)Menu.MyContactsManager)]
        public enum MyContactsManager : long
        {
            [Description("查看")]
            View = 1,
            [Description("移动手机")]
            ViewMobile = 2,
            [Description("查看保密人员")]
            ViewPrivateUser = 4
        }
        [SecurityFlag((int)Module.DailyUser, (int)Menu.MyClient)]
        public enum MyClient : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
    }
    #endregion
    #region 消息管理
    namespace MessageManagement
    {
        public enum Menu : int
        {
            [Description("收件箱")]
            EMailReceive = 100,
            [Description("发件箱")]
            EMailSend,
            [Description("垃圾箱")]
            EMailDustbin,
        }
        [SecurityFlag((int)Module.MessageManagement, (int)Menu.EMailReceive)]
        public enum EMailReceive : long
        {
            [Description("查看")]
            View = 1

        }
        [SecurityFlag((int)Module.MessageManagement, (int)Menu.EMailSend)]
        public enum EMailSend : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("删除")]
            Delete = 4
        }
        [SecurityFlag((int)Module.MessageManagement, (int)Menu.EMailDustbin)]
        public enum EMailDustbin : long
        {
            [Description("查看")]
            View = 1


        }
    }
    #endregion
    #region 会议室
    namespace MettingRoom
    {
        public enum Menu : int
        {
            [Description("会议室预定")]
            MettingType = 100,
            [Description("会议情况表")]
            MettingBookList,
            [Description("会议室列表")]
            MettingRoomList,
            [Description("会议类型")]
            MettingTypeList,
            [Description("会议设备")]
            MettingSettingList
        }
        [SecurityFlag((int)Module.MettingRoom, (int)Menu.MettingType)]
        public enum MettingType : long
        {
            [Description("查看")]
            View = 1,
            [Description("预定会议室")]
            Create = 2,
            [Description("修改/查看")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.MettingRoom, (int)Menu.MettingBookList)]
        public enum MettingBookList : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.MettingRoom, (int)Menu.MettingRoomList)]
        public enum MettingRoomList : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.MettingRoom, (int)Menu.MettingTypeList)]
        public enum MettingTypeList : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.MettingRoom, (int)Menu.MettingSettingList)]
        public enum MettingSettingList : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
    }
    #endregion
    #region 资产管理
    //namespace AssetManagement
    //{
    //    public enum Menu : int
    //    {

    //    }
    //}
    #endregion
    #region 用品管理
    namespace OfficeProductManagement
    {
        public enum Menu : int
        {
            [Description("基础数据")]
            Basic = 100,
            [Description("办公用品")]
            DayEquipment,
            [Description("低值耐用品")]
            LowEquipment,
            [Description("固定资产")]
            Equipment,
            [Description("办公用品报表")]
            OfficeReport,
            [Description("业务查询")]
            BusinessQuery,
            [Description("固定资产部门权限")]
            DepartmentEquipment,


        }
        [SecurityFlag((int)Module.OfficeProductManagement, (int)Menu.Basic)]
        public enum Basic : long
        {
            [Description("物品大类")]
            OPIBigCategory = 1,
            [Description("物品小类")]
            OPISmallCategory = 2,
            [Description("物品信息")]
            OPIProductInfo = 4,
            [Description("库房信息")]
            OPIStore = 8
        }
        [SecurityFlag((int)Module.OfficeProductManagement, (int)Menu.DayEquipment)]
        public enum DayEquipment : long
        {
            [Description("办公用品采购")]
            Purchase = 1,
            [Description("办公用品回收")]
            RecoveryOrder = 2,
            [Description("办公用品领用")]
            ConsumOrder = 4,
            [Description("物品调拨")]
            TransferOrder = 8,
            [Description("库存溢损")]
            OverReject = 16,
            [Description("库存查询")]
            StorageDetail = 32,

        }

        [SecurityFlag((int)Module.OfficeProductManagement, (int)Menu.LowEquipment)]
        public enum LowEquipment : long
        {
            [Description("低值耐用品采购")]
            Purchase = 1,
            [Description("低值耐用品回收")]
            RecoveryOrder = 2,
            [Description("低值耐用品领用")]
            ConsumOrder = 4,
            [Description("物品调拨")]
            TransferOrder = 8,
            [Description("库存溢损")]
            OverReject = 16,
            [Description("库存查询")]
            StorageDetail = 32,
            [Description("低值耐用品期初")]
            Beginning = 64,
            [Description("低值耐用品位置变化")]
            ChangeAddaress = 128,
            [Description("低值耐用品报表")]
            LowEquipmentReport = 256,

        }


        [SecurityFlag((int)Module.OfficeProductManagement, (int)Menu.Equipment)]
        public enum Equipment : long
        {
            [Description("固定资产采购")]
            Purchase = 1,
            [Description("固定资产回收")]
            RecoveryOrder = 2,
            [Description("固定资产领用")]
            ConsumOrder = 4,
            [Description("物品调拨")]
            TransferOrder = 8,
            [Description("库存溢损")]
            OverReject = 16,
            [Description("库存查询")]
            StorageDetail = 32,
            [Description("固定资产期初")]
            Beginning = 64,
            [Description("固定资产详情")]
            EquipmentInquiry = 128,
            [Description("固定资产位置变化")]
            ChangeAddaress = 256,
            [Description("固定资产报表")]
            EquipmentReport = 512,
        }

        [SecurityFlag((int)Module.OfficeProductManagement, (int)Menu.OfficeReport)]
        public enum OfficeReport : long
        {
            [Description("员工领用表")]
            EmployeeReport = 1,
            [Description("部门领用表")]
            DeparmentReport = 2,
            [Description("领用分析表")]
            AnalysisReport = 4,
        }

        [SecurityFlag((int)Module.OfficeProductManagement, (int)Menu.BusinessQuery)]
        public enum BusinessQuery : long
        {
            [Description("采购/回收单查询")]
            OPIPurchaseOrder = 1,
            [Description("采购物品/回收查询")]
            ProductInfoInquiry = 2,
            [Description("领用记录")]
            OPIConsumOrder = 4,
            [Description("调拨单查询")]
            OPITransferOrder = 8,
            [Description("库存溢损查询")]
            OverReject = 16,
            [Description("位置变动查询")]
            ChangeAddaress = 32,



        }

        [SecurityFlag((int)Module.OfficeProductManagement, (int)Menu.DepartmentEquipment)]
        public enum DepartmentEquipment : long
        {
            [Description("资产查询")]
            Index = 1,
            [Description("资产领用")]
            ConsumOrder = 2,
            [Description("资产回收")]
            Recovery = 4,
            [Description("地址变动")]
            Address = 8,
            [Description("地址变动查询")]
            AddressQuery = 16,
        }
    }
    #endregion
    #region 车辆管理
    namespace CarManagement
    {
        public enum Menu : int
        {
            [Description("车辆预定")]
            CarApply = 100,
            [Description("部门审批")]
            DeparmentCheck,
            [Description("车管部门审批")]
            CarCheck,
            [Description("出回车管理")]
            CarOutBackManager,
            [Description("车队管理")]
            MotorcardeManager,
            [Description("车辆类型管理")]
            CarTypeManager,
            [Description("车辆管理")]
            CarManager,
            [Description("司机管理")]
            DriverInfoManager,
            [Description("紧急预定")]
            CrashApply

        }
        [SecurityFlag((int)Module.CarManagement, (int)Menu.CarApply)]
        public enum CarApply : long
        {
            [Description("查看")]
            View = 1,
            [Description("预定车辆")]
            Apply = 2
        }
        [SecurityFlag((int)Module.CarManagement, (int)Menu.DeparmentCheck)]
        public enum DeparmentCheck : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.CarManagement, (int)Menu.CarCheck)]
        public enum CarCheck : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.CarManagement, (int)Menu.CarOutBackManager)]
        public enum CarOutBackManager : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.CarManagement, (int)Menu.MotorcardeManager)]
        public enum MotorcardeManager : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.CarManagement, (int)Menu.CarManager)]
        public enum CarManager : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.CarManagement, (int)Menu.DriverInfoManager)]
        public enum DriverInfoManager : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.CarManagement, (int)Menu.CarTypeManager)]
        public enum CarTypeManager : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.CarManagement, (int)Menu.CrashApply)]
        public enum CrashApply : long
        {
            [Description("添加")]
            Create = 1,
        }

    }
    #endregion
    #region 图书管理
    namespace BookManagement
    {
        public enum Menu : int
        {
            [Description("图书类别")]
            BookType = 100,
            [Description("图书信息")]
            BookInfo,
            [Description("图书借阅")]
            BookRent,
            [Description("我的借阅")]
            BookRentList,
            [Description("审批")]
            BookAgree
        }
        [SecurityFlag((int)Module.BookManagement, (int)Menu.BookType)]
        public enum BookType : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.BookManagement, (int)Menu.BookInfo)]
        public enum BookInfo : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.BookManagement, (int)Menu.BookRent)]
        public enum BookRent : long
        {
            [Description("查看")]
            View = 1,
            [Description("借书")]
            Create = 2,
            [Description("删除")]
            Delete = 4
        }
        [SecurityFlag((int)Module.BookManagement, (int)Menu.BookRentList)]
        public enum BookRentList : long
        {
            [Description("查看")]
            View = 1

        }
        [SecurityFlag((int)Module.BookManagement, (int)Menu.BookAgree)]
        public enum BookAgree : long
        {
            [Description("查看")]
            View = 1,
            [Description("审批")]
            Check = 2,
            [Description("删除")]
            Delete = 4,
        }
    }
    #endregion
    #region 内容发布
    namespace ContentPublish
    {
        public enum Menu : int
        {
            [Description("集团动态")]
            CompanyDynamics = 100,
            [Description("集团公告")]
            Announcements,
            [Description("集团文化")]
            Cultures,
            [Description("分类公告")]
            CustomeType,
            [Description("分类管理")]
            NewsType,
            [Description("页面权限")]
            PagePermission,
            [Description("招聘信息")]
            Recruitment,
            [Description("图片发布")]
            Picture,
            [Description("EIP查看")]
            EIPLook,
        }
        [SecurityFlag((int)Module.ContentPublish, (int)Menu.NewsType)]
        public enum NewsType : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.ContentPublish, (int)Menu.Announcements)]
        public enum Announcements : long
        {
            [Description("查看")]
            View = 1,
            [Description("编辑")]
            Edit = 2,
            [Description("新增")]
            Create = 4,
            [Description("删除")]
            Delete = 8,
            [Description("审批")]
            Check = 16
        }
        [SecurityFlag((int)Module.ContentPublish, (int)Menu.CompanyDynamics)]
        public enum CompanyDynamics : long
        {
            [Description("查看")]
            View = 1,
            [Description("编辑")]
            Edit = 2,
            [Description("新增")]
            Create = 4,
            [Description("删除")]
            Delete = 8,
            [Description("审批")]
            Check = 16
        }
        [SecurityFlag((int)Module.ContentPublish, (int)Menu.Cultures)]
        public enum Cultures : long
        {
            [Description("查看")]
            View = 1,
            [Description("编辑")]
            Edit = 2,
            [Description("新增")]
            Create = 4,
            [Description("删除")]
            Delete = 8,
            [Description("审批")]
            Check = 16
        }
        [SecurityFlag((int)Module.ContentPublish, (int)Menu.CustomeType)]
        public enum CustomeType : long
        {
            [Description("查看")]
            View = 1,
            [Description("编辑")]
            Edit = 2,
            [Description("新增")]
            Create = 4,
            [Description("删除")]
            Delete = 8,
            [Description("审批")]
            Check = 16
        }

        [SecurityFlag((int)Module.ContentPublish, (int)Menu.PagePermission)]
        public enum PagePermission : long
        {
            [Description("任务提醒")]
            Memo = 1,
            [Description("待开会议")]
            Meeting = 2,
            [Description("固定资产")]
            FixedAssets = 4,

        }
        [SecurityFlag((int)Module.ContentPublish, (int)Menu.Recruitment)]
        public enum Recruitment : long
        {
            [Description("查看")]
            View = 1,
            [Description("编辑")]
            Edit = 2,
            [Description("新增")]
            Create = 4,
            [Description("删除")]
            Delete = 8,
            [Description("审批")]
            Check = 16,

        }

        [SecurityFlag((int)Module.ContentPublish, (int)Menu.Picture)]
        public enum Picture : long
        {
            [Description("查看")]
            View = 1,
            [Description("编辑")]
            Edit = 2,
            [Description("新增")]
            Create = 4,
            [Description("删除")]
            Delete = 8,
        }

        [SecurityFlag((int)Module.ContentPublish, (int)Menu.EIPLook)]
        public enum EIPLook : long
        {
            [Description("组织架构查看")]
            framework = 1,
            [Description("流程图查看")]
            workflow = 2,
        }
    }
    #endregion
    #region 考勤管理
    namespace PunchManagement
    {
        public enum Menu : int
        {
            [Description("我的考勤")]
            MyPunch = 100,
            [Description("考勤设置")]
            PunchSetting
        }
        [SecurityFlag((int)Module.PunchManagement, (int)Menu.MyPunch)]
        public enum MyPunch : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.PunchManagement, (int)Menu.PunchSetting)]
        public enum PunchSetting : long
        {
            [Description("查看")]
            View = 1
        }
    }
    #endregion
    #region 人事信息
    namespace HRInfoManagement
    {
        public enum Menu : int
        {
            [Description("人员履历")]
            Resume = 100,
            [Description("员工风采")]
            StaffInfo = 101
        }
        [SecurityFlag((int)Module.HRInfoManagement, (int)Menu.Resume)]
        public enum Resume : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.HRInfoManagement, (int)Menu.StaffInfo)]
        public enum StaffInfo : long
        {
            [Description("查看")]
            View = 1
        }
    }
    #endregion
    #region 公司管理
    namespace CompanyManagement
    {
        public enum Menu : int
        {
            [Description("公司管理")]
            Company = 100,
            [Description("部门管理")]
            Department,
            [Description("岗位管理")]
            Position,
            [Description("员工类型")]
            EmployeeType,
            [Description("员工分组")]
            Team,
            [Description("员工管理")]
            Employee,
            [Description("流程类型")]
            WorkFlowType,
            [Description("流程设置")]
            WFProcess
        }
        [SecurityFlag((int)Module.CompanyManagement, (int)Menu.Company)]
        public enum Company : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.CompanyManagement, (int)Menu.Department)]
        public enum Department : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.CompanyManagement, (int)Menu.Position)]
        public enum Position : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.CompanyManagement, (int)Menu.EmployeeType)]
        public enum EmployeeType : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.CompanyManagement, (int)Menu.Team)]
        public enum Team : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.CompanyManagement, (int)Menu.Employee)]
        public enum Employee : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.CompanyManagement, (int)Menu.WorkFlowType)]
        public enum WorkFlowType : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.CompanyManagement, (int)Menu.WFProcess)]
        public enum WFProcess : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8,
            [Description("请假单统计")]
            FormLeaveReport = 16,
            [Description("旧考勤异常单统计")]
            FormAttendanceExceptionReport = 32,
            [Description("新考勤异常单统计")]
            FormNewAttendanceExceptionReport = 64,
            [Description("全部请假单统计")]
            FormAllLeaveReport = 128,
        }
    }
    #endregion
    #region 系统管理
    namespace SystemManagement
    {
        public enum Menu : int
        {
            [Description("操作日志")]
            OperationLog = 100,
            [Description("操作日志")]
            ErroLog
        }
        [SecurityFlag((int)Module.SystemManagement, (int)Menu.OperationLog)]
        public enum OperationLog : long
        {
            [Description("查看")]
            View = 1
        }
        [SecurityFlag((int)Module.SystemManagement, (int)Menu.ErroLog)]
        public enum ErroLog : long
        {
            [Description("查看")]
            View = 1
        }
    }
    #endregion

    #region 财务管理
    namespace FinaceManagement
    {
        public enum Menu : int
        {
            [Description("财务类型管理")]
            FinaceType = 100,
            [Description("财务报表管理")]
            FinaceAdd,
        }
        [SecurityFlag((int)Module.FinaceManagement, (int)Menu.FinaceType)]
        public enum FinaceType : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.FinaceManagement, (int)Menu.FinaceAdd)]
        public enum FinaceAdd : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
    }
    #endregion

    #region 培训计划
    namespace TraingProgram
    {
        public enum Menu : int
        {
            [Description("培训计划")]
            TraingPrograms = 101
        }
        [SecurityFlag((int)Module.TraingProgram, (int)Menu.TraingPrograms)]
        public enum TraingPrograms : long
        {
            [Description("查看")]
            View = 1,
            [Description("创建")]
            Create = 2
        }
    }
    #endregion


    #region 投票管理
    namespace VoteManagement
    {
        public enum Menu : int
        {
            [Description("投票类型")]
            VoteType = 100,
            [Description("投票创建")]
            VoteTheme,
        }
        [SecurityFlag((int)Module.VoteManagement, (int)Menu.VoteType)]
        public enum VoteType : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
        [SecurityFlag((int)Module.VoteManagement, (int)Menu.VoteTheme)]
        public enum VoteTheme : long
        {
            [Description("查看")]
            View = 1,
            [Description("添加")]
            Create = 2,
            [Description("修改")]
            Modify = 4,
            [Description("删除")]
            Delete = 8
        }
    }
    #endregion


    #region 流程报表管理
    namespace FormReportManagement
    {
        public enum Menu : int
        {
            [Description("考勤专员权限")]
            OnePerson = 100,
            [Description("所有权限")]
            AllPerson,
        }
        [SecurityFlag((int)Module.FormReportManagement, (int)Menu.OnePerson)]
        public enum OnePerson : long
        {
            [Description("旧请假")]
            FormLeaveReport = 1,
            [Description("新请假")]
            FormNewLeaveReport = 2,
            [Description("旧考勤异常")]
            FormAttendanceExceptionReport = 4,
            [Description("新考勤异常")]
            FormNewAttendanceExceptionReport = 8,
            [Description("加班")]
            FormOTReport = 16,
            [Description("出差")]
            FormOutBusinessReport = 32,


        }
        [SecurityFlag((int)Module.FormReportManagement, (int)Menu.AllPerson)]
        public enum AllPerson : long
        {
            [Description("所有旧请假")]
            FormAllLeaveReport = 1,
            [Description("所有新请假")]
            FormAllNewLeaveReport = 2,
            [Description("所有旧考勤异常")]
            FormAllAttendanceExceptionReport = 4,
            [Description("所有新考勤异常")]
            FormAllNewAttendanceExceptionReport = 8,
            [Description("所有加班")]
            FormAllOTReport = 16,
            [Description("所有出差")]
            FormAllOutBusinessReport = 32,
        }
    }
    #endregion

    #region 緊急咨詢
    namespace Consult
    {
        public enum Menu : int
        {
            [Description("回答咨詢")]
            ReplyConsult = 100,
        }
        [SecurityFlag((int)Module.Consult, (int)Menu.ReplyConsult)]
        public enum ReplyConsult : long
        {
            [Description("回答咨詢")]
            Reply = 1,
        }

    }
    #endregion

}
